SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 46600: SAS functions incorrectly resolve within macro parameter list during compilation

DetailsAboutRate It

From SAS V6.08 through SAS V9.2, the SAS Macro Facility was erroneously evaluating expressions at macro compilation time which defined the default value of keyword parameters. This was a change from SAS V5.18. At macro compilation time, the SAS Macro Facility should have only been evaluating %STR and %NRSTR quoting functions used in the default value expressions of keyword parameters. The correct time for full resolution of default keyword parameter expressions is at macro execution time.

Sample code that incorrectly evaluates %SYSFUNC at compilation time:

   %macro A(B=A %sysfunc(putn(&xx,2.)));
     %let xxxx=%sysfunc(today()); 
     %put %unquote(&B.); 
   %mend A;


Operating System and Release Information

Product FamilyProductSystemSAS Release
ReportedFixed*
SAS SystemN/Az/OS9.2 TS2M39.3 TS1M0
Microsoft® Windows® for 64-Bit Itanium-based Systems9.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 Datacenter 64-bit Edition9.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 Enterprise 64-bit Edition9.2 TS2M39.3 TS1M0
Microsoft Windows XP 64-bit Edition9.2 TS2M39.3 TS1M0
Microsoft® Windows® for x649.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 Datacenter Edition9.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 Enterprise Edition9.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 Standard Edition9.2 TS2M39.3 TS1M0
Microsoft Windows Server 2003 for x649.2 TS2M39.3 TS1M0
Microsoft Windows Server 20089.2 TS2M39.3 TS1M0
Microsoft Windows Server 2008 for x649.2 TS2M39.3 TS1M0
Microsoft Windows XP Professional9.2 TS2M39.3 TS1M0
Windows 7 Enterprise 32 bit9.2 TS2M39.3 TS1M0
Windows 7 Enterprise x649.2 TS2M39.3 TS1M0
Windows 7 Home Premium 32 bit9.2 TS2M39.3 TS1M0
Windows 7 Home Premium x649.2 TS2M39.3 TS1M0
Windows 7 Professional 32 bit9.2 TS2M39.3 TS1M0
Windows 7 Professional x649.2 TS2M39.3 TS1M0
Windows 7 Ultimate 32 bit9.2 TS2M39.3 TS1M0
Windows 7 Ultimate x649.2 TS2M39.3 TS1M0
Windows Vista9.2 TS2M39.3 TS1M0
Windows Vista for x649.2 TS2M39.3 TS1M0
64-bit Enabled AIX9.2 TS2M39.3 TS1M0
64-bit Enabled HP-UX9.2 TS2M39.3 TS1M0
64-bit Enabled Solaris9.2 TS2M39.3 TS1M0
HP-UX9.2 TS2M39.3 TS1M0
HP-UX IPF9.2 TS2M39.3 TS1M0
Linux9.2 TS2M39.3 TS1M0
Linux for x649.2 TS2M39.3 TS1M0
Linux on Itanium9.2 TS2M39.3 TS1M0
OpenVMS on HP Integrity9.2 TS2M39.3 TS1M0
Solaris for x649.2 TS2M39.3 TS1M0
Tru64 UNIX9.2 TS2M39.3 TS1M0
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.